package com.jinghua.treatment.tools;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * Created by 王兴光 on 2018/5/28.
 */
public class DateUtil {

    static SimpleDateFormat sdf = new SimpleDateFormat();

    public static Date getDateFromStr(String date, String pattern) {
        sdf.applyPattern(pattern);
        try {
            return sdf.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String getDateString(Date date, String pattern) {
        sdf.applyPattern(pattern);
        return sdf.format(date);
    }


    /**
     * 根据出生日期获取周岁年龄
     *
     * @param birthday 出生日期
     * @return 年龄
     */
    public static int getAgeByBirth(Date birthday) {
        int age = 0;
        try {
            Calendar now = Calendar.getInstance();
            now.setTime(new Date());// 当前时间

            Calendar birth = Calendar.getInstance();
            birth.setTime(birthday);

            if (birth.after(now)) {//如果传入的时间，在当前时间的后面，返回0岁
                age = 0;
            } else {
                age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR) - 1;
                System.out.println(now.get(Calendar.DAY_OF_YEAR) + "========" + birth.get(Calendar.DAY_OF_YEAR));
                if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
                    age += 1;
                }
            }
            return age;
        } catch (Exception e) {//兼容性更强,异常后返回数据
            return 0;
        }
    }

}
